python 求均值、中位数、众数的方法

您所在的位置:网站首页 python 获得年份 python 求均值、中位数、众数的方法

python 求均值、中位数、众数的方法

2023-03-14 09:50| 来源: 网络整理| 查看: 265

看了n久的python,可当解决实际项目问题去搜寻众多API解释时,使用何种方法合适,还是毫无方向。度娘还是最好的帮手,找到目标博案后再结合原版的API解释去理解,更为直观有效些。

今天记录一下求均值、中位数、众数的方式nums = [0,4,5,8,8] #求均值和中位数均可以使用numpy库的方法: import numpy as np #均值 np.mean(nums) #中位数 np.median(nums) #求均值和中位数均也可以使用panda库的方法: import panda as pd gm = pd.Series(data=nums) #均值 gm.mean() #中位数 gm.median()求众数方法一:

在numpy中没有直接的方法,但是也可以这样实现:

import numpy as np #获取平铺后每个索引位置值在原始数列中出现的次数 counts = np.bincount(nums) #返回众数 返回最大值在数列中的索引位置 np.argmax(counts)

其中np.bincount方法返回了一个长度为nums最大值的列表

即 [0,4,5,8,8] ——> bincount 返回 长度为8的列表

[1,0,0,0,1,1,0,0,2] 也就是把0-8平铺到列表里,然后对0-8的每个数字计数

此处0、4、5各为1次,所以在返回的列表内的对应索引位置显示为1

8为2次,即索引8的位置显示2

其中np.argmax方法返回数列中最大值的索引位置。

即[1,0,0,0,1,1,0,0,2] ——> 最大值2的索引位置为8

求众数方法二——直接利用scipy下stats模块:from scipy import stats nums = [0,4,5,8,8] stats.mode(nums)[0][0]

求众数方法三——panda下mode()方法直接获取众数:import pandas as pd v = [3,5,6,2,6,9] gm = pd.Series(data=v) gm.mode()[0]

这里都运用了第三方的统计数据类包 panda、scipy、numpy

对于数据分析师而言都是必须掌握的工具包,api繁多,任重而道远

笔者还未接触过scipy,此处是对scipy的浅显的理解:

scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,统计,特殊函数等等。

scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。

下载安装:Mac 终端

命令:pip install wheel

命令:shenjiaming$ sudo pip3 install -U numpy scipy

部分转载自 python求均值、中位数、众数的方法 - 斑点鱼的博客 - CSDN博客



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3